1. Field of the Invention
The present invention relates to a scheduler for a printing machine to schedule the processing of sheets through the several modules of the printing machine, the scheduler using a traverser to automatically traverse the machine or a list of itineraries. In particular, the invention includes a selector to configure the traverser so as to adapt to a diverse combination of printer modules and capabilities.
2. Description of Related Art
Known printing machines schedule print jobs through the machine based, at least in part, on the capabilities of the machines. A sheet to be processed through the machine is scheduled through each stage using a scheduler module that is controlled by scheduling software. Some approaches use scheduling policies (e.g., xe2x80x9cuse tray1 if tray2 is low on paperxe2x80x9d) that specify criteria that must be satisfied to process the print job. In known machines, such policies are written into the logic of the scheduling software during a software development phase of the development of the printing machine. The policies are coded into the logic of the scheduling software, and the scheduling software is stored in a memory such as a ROM before the printing machine is shipped.
Scheduling rules and policies are typically dependent on the machine hardware being developed. For example, a developer of scheduling software would know, during the development time, that the duplex paper path of a particular product (e.g., for printing two sided copies) can hold a maximum of eight 8xc2xdxe2x80x3 xc3x9711xe2x80x3 sheets. This means that a sheet that enters the duplex paper path will re-emerge eight pitches later since the duplex paper path is a non-stop loop. A pitch is the amount of time it takes to make one image. If the hardware is ever changed so that the length of the duplex loop changes, the software will also need to be changed.
Other strategies for sheet scheduling are also product-specific and hard coded. For example, casual use products may strive for a low first-copy-out time, whereas production products may want to minimize the total run time even if it delays the first print out time. Once these types of policies are coded into the print scheduler, they necessitate changing the software if the policy for the product changes.
Because known systems pre-code the scheduling policies into the logic of the scheduling software, the scheduling software is static, difficult to update and not reusable on other printing machines. For example, a printing machine may be of a modular design and use a feeder module, a marker module and a stacker module, but after product release, the marker module may be redesigned to add new capabilities. Even though the modules themselves may be designed to be interchangeable, the scheduling software would have to be rewritten.
It is an object of the present invention to provide a machine controller with a flexible scheduler for a printing machine that is adaptable to diverse machine configurations and machine environments.
These and other objects are achieved in a scheduler for a machine that includes a selector to select a traverser and to select policies from a library based on a model of the machine and the traverser selected by the selector. The traverser includes a search algorithm that is selected by the selector from a search algorithm library so that the traverser is abstracted from dependence on any particular search algorithm.